/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package incidencias;

import accesoBD.QueryUsuario;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Cristian
 */
public class Cliente {
    QueryUsuario user;
    
    /**
     * Crea un nuevo cliente asignando un objeto QueryUsuario pasado como parametro
     * @param user QueryUsuario que es un objeto sobre el que se realizan las futuras consultas a la base de datos.
     */
    public Cliente(QueryUsuario user) {
        this.user = user;
    }
    /**
     * Crea un parte de incidencia usando la API de la base de datos.
     * @param IdAparato 
     * @param Descripcion 
     * @throws SQLException  
     */
    public void CrearParte (String IdAparato, String Descripcion) throws SQLException{
        user.crearParte(IdAparato, Descripcion);
    }
    /**
     * Solicita todos los identificadores publicos de los aparatos de la base de datos.
     * @return Un objeto resultSet que contiene el resultado de la consulta
     * @throws SQLException  
     */
    public ResultSet GetAparatos () throws SQLException{
        return user.getAllAparatos();        
    }
    /**
     * Solicita todos los partes de la base de datos.
     * @return Un objeto resultSet que contiene el resultado de la consulta
     * @throws SQLException  
     */
    public ResultSet GetPartes () throws SQLException{
        return user.getPartesDeUsuarioNoDesc();        
    }
    /**
     * Solicita todos los identificadores publicos de aparatos de una determinada sala.
     * @param Sala 
     * @return Un objeto resultSet que contiene el resultado de la consulta
     * @throws SQLException  
     */
    public ResultSet GetAparatos (String Sala) throws SQLException{
        return user.getAparatos(Sala);        
    }
    /**
     * Solicita todos los sitios de la base de datos a los que se les puede asignar partes.
     * @return Un objeto resultSet que contiene el resultado de la consulta
     * @throws SQLException  
     */
    public ResultSet GetSitios () throws SQLException{
        return user.getUbicaciones();        
    }
    /**
     * Solicita un ID de un aparato a partir de un identificador publico.
     * @param idpubl String es el identificador publico del aparato.
     * @return Un objeto resultSet que contiene el resultado de la consulta
     * @throws SQLException  
     */
    public String GetAparatoIdprivado (String idpubl) throws SQLException{
        ResultSet r=user.getCodigoInterno(idpubl);
        r.next();
        return r.getString(1);
    }
    /**
     * Solicita un identificador publico de un aparato a partir de un ID.
     * @param idpriv String es el ID del aparato.
     * @return Un objeto resultSet que contiene el resultado de la consulta
     * @throws SQLException  
     */
    public String GetAparatoIdpublico (String idpriv) throws SQLException{
        ResultSet r=user.getCodigoPublico(idpriv);
        r.next();
        return r.getString(1);        
    }

}
